-
-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix a bug in Subfiling VFD vector I/O setup #4821
Fix a bug in Subfiling VFD vector I/O setup #4821
Conversation
6d87425
to
9a3ccd2
Compare
Fixes a bug where the vector I/O sizes weren't being extended when one of the entries in the array is 0. This caused an over-read of the I/O sizes buffer and on some machines would cause a memory allocation failure due to the calculated I/O vector size being too large.
Will add a release note after checking testing on an HPC machine. The current testing in t_vfd.c wasn't generally catching this as the I/O sizes array was allocated on the stack and passed in. The buffer over-read was then usually reading valid memory for the process. Adding a test with an array allocated on the heap has a much better chance of triggering the issue. |
MPI_TEST_t_vfd and 2930 other tests all passed on frontier, testing the subfiling_vector_io_bugfix branch with gcc-native/13.2 compiler: https://my.cdash.org/builds/2656168. The test has been failing consistently in this configuration. |
Fixes a bug where the vector I/O sizes weren't being extended when one of the entries in the array is 0. This caused an over-read of the I/O sizes buffer and on some machines would cause a memory allocation failure due to the calculated I/O vector size being too large.
* Convert exec_program to execute_process (#4819) * Fix a bug in Subfiling VFD vector I/O setup (#4821) Fixes a bug where the vector I/O sizes weren't being extended when one of the entries in the array is 0. This caused an over-read of the I/O sizes buffer and on some machines would cause a memory allocation failure due to the calculated I/O vector size being too large. * Add release note for signed binaries (#4826) * Draw attention to 3rd step in process to update so numbers for release. (#4825) * Update RESULT_VARIABLE
Fixes a bug where the vector I/O sizes weren't being extended when one of the entries in the array is 0. This caused an overread of the I/O sizes buffer and on some machines would cause a memory allocation failure due to the calculated I/O vector size being too large.